/**
 * 前端js库: IMU 1.0
 * Copyright(c) 2013 IMU-JS
 * iduosi@gmail.com
 * imu.com
 */

/**
 * @class String
 * @content 补充 String 内置对象
 */
Imu.applyLess(String, {
    /**
     * @content 过滤 ' 和 \
     * @param {String} string
     * @return {String} string
     * @static
     */
    escape : function(string) {
        return string.replace(/('|\\)/g, "\\$1");
    },
    /**
	 * @content 将指定的字符以指定的数目填充字符串左侧
     * @param {String} string 需要填充的字符串
     * @param {Number} size 指定的填充数目
     * @param {String} char 指定的字符
     * @return {String} string
     * @static
     */
    leftPad : function (string, size, ch) {
        var result = new String(string);
        if(!ch) {
            ch = " ";
        }
        while (result.length < size) {
            result = ch + result;
        }
        return result.toString();
    },
    /**
	 * @content 替代原字符串的占位符
     * @param {String} string 原字符串
     * @param {String} value1 需要替换占位符的字符（串）
     * @param {String} value2 
     * @return {String} string
     * @static
     */
    format : function(format){
        var args = Array.prototype.slice.call(arguments, 1);
        return format.replace(/\{(\d+)\}/g, function (m, i){
            return args[i];
        });
    }
});

/**
 * @content 交换值
 * @param {String} value
 * @param {String} other
 * @return {String} 新的value
 */
String.prototype.toggle = function(value, other) {
    return this == value ? other : value;
};

/**
 * @content 去除字符串两端的空格
 * @return {String} string
 */
String.prototype.trim = function() {
    var re = /^\s+|\s+$/g;
    return function() {
		return this.replace(re, "");
	};
}();